EN FR
EN FR


Section: New Results

Multiprocessor Real-time Scheduling

Participants : Laurent George, Maxence Guesdon, Mohamed Marouf, Falou Ndoye, Simon Nivault, Yves Sorel, Cécile Stentzel.

Partitioned scheduling with exact RTOS cost

In the case of partitioned scheduling we propose a greedy heuristic to solve the real-time scheduling problem of periodic preemptive tasks on a multiprocessor architecture while taking into account the exact RTOS cost. This is achieved by combining an allocation heuristic, of “best fit” type, and a schedulability condition based on the operation which takes into account the exact RTOS cost [43] . The allocation heuristic minimizes the makespan (total execution time of the tasks executed on the multiprocessor taking into account inter-processor communication costs). A first version of that work was presented in [29] .

Semi-partitioned scheduling

In [18] we study two cases of semi-partitioned scheduling of sporadic tasks with constrained deadlines on homogeneous multi-processor: (i) the case where the Worst Case Execution Time (WCET) of a job can be portioned, each portion being executed on a dedicated processor, according to a static pattern of migration and using for solving the local assignment problem a linear programming approach ; (ii) the case where the jobs of a task are released on a processor, 1 time out of p, where p is an integer less than or equal to the number of processors, according to a Round-Robin migration pattern. The first approach has been investigated in the state-of-the-art by migrating a job at its local deadline, computed from the deadline of the task it belongs to.

Fault tolerance on electric vehicles

We consider applications composed of a real-time task set running on the distributed heterogeneous architecture of the CyCab (electric vehicle developped in the IMARA team-project) based on dsPICs processors, MPC555 micro-controllers, and an embedded PC all together connected through CAN (Controller Area Network) buses. For hardware reasons we suppose that only dsPICs and CAN buses can fail. Our goal is to find a fault-tolerant software solution to tolerate such failures while the applications satisfy the real-time constraints. Because extra hardware for error detection is expensive in such electric vehicle, we proposed a software error detection based on watchdogs. We solved separately two different problems: buses and dsPICs fault-tolerance. In both cases we use active redundancy policies. For buses fault-tolerance, we assume that all processors are reliable, and all but one bus can fail. The same data is sent through all the CAN buses. If a CAN bus fails then the data is sent by the other CAN buses. For processors fault-tolerance, we assume that all communication media are reliable and at least one processor can fail. The first step consists in performing active redundancy for all the tasks of the application. A task and their redundant tasks are assigned to different processors. If processor fails then the data which are not sent by tasks running on that faulty processor, are actually sent by the redundant tasks. All the tasks with their redundant counterparts are scheduled according to the schedulability analysis proposed in [28] .

Scicos/SynDEx gateway and code generation for multi-core

This work was carried out in the Openprod project (see 8.3.2.2 ). The gateway between Scicos and SynDEx has been updated to deal with the last Scicos data structures and the last version of SynDEx. Besides, this gateway has been improved and partially rewritten to support as much Scicos blocks as possible. We use the gateway to automatically produce from a control model specified and simulated in Scicos a real-time executable running on a multi-core platform. The latter platform is described according to the shared memory model defined last year. In order to generate real-time executable code we had to develop a new SynDEx executive kernel based on Windows-RTX which supports shared memory communications and multi-core parallel execution. That executive kernel is used with the macro-code generated by SynDEx to produce the real-time executable code.

SynDEx updates

We continued the developments of future version 8 of SynDEx which will feature a new software architecture to allow better functionality evolutions and maintenance. On the other hand in the COTROS ADT ("Génération de code temps réel distribué optimisé et sûr"), we achieved the new automatic code generator for the current version 7 of SynDEx. This generator creates intra and inter-processor synchronizations according to well defined rules, checks deadlock absence in inter-processor synchronizations, manages efficiently buffers and semaphores (declaration, naming, etc.).